Продолжаем исследование из цикла изобретения жесткого диска. За время с прошлой публикации было несколько попыток разобраться в коде подопытного кролика в тему стартовой инициализации. Оказалось, что подробно изучить код написанный на чистом ассемблере и отсутствии описания для двух важных микросхем (WD61C28C и WD61C13A) на практике не получилось. Поэтому, было принято решение пойти вобход. А именно, заполучить возможность инструментации кода программы управления диском. Проще говоря, в каких-то местах внедрить свой код, который лампочкой мигает на не использованной ножке процессора или еще что-нибудь. А как такое сделать, если код программы записан в однократном ПЗУ?
В принципе, можно вместо однократной ПЗУ установить совместимую Flash ПЗУ и ее на программаторе переписывать. Но, более продвинутой методикой является реализация эмулятора 16-и битного ПЗУ, что как бы удобнее, но трудно в реализации. Еще хотелось бы изучить HDD других фирм середины 90-х, что и WD21000, например Fujitsu MPA.
На текущий момент придумана схема эмулятора ПЗУ и выложена на гитхаб:
https://github.com/rlabru/HDD_ROM_Emulator
Печатная плата еще в процессе разработки. Собственно, следующее включение по теме, надеюсь, будет по завершению разработки платы.
Центром эмулятора являются две микросхемы 8-и битной статической память IS61C512, которые со стороны процессора платы жесткого диска видны как 16-и битное ПЗУ, а со стороны персонального компьютера видна как ОЗУ через плату STM32 NUCLEO64.
Переход с уровней 3.3 вольта платы NUCLEO64 на логические уровни 5 вольт памяти и платы HDD выполнен на микросхеме 74LVC4245.
Не забывайте делать бэкап. До новых встреч.
ЗЫ. В теории, производительности NUCLEO64 хватит, чтобы наблюдать, по каким адресам «ходит» программа процессора HDD.
ЗЫ. ЗЫ. Обновлена схема WD21000 на гитхабе https://github.com/rlabru/WD21000/tree/master/sch.
В процессе доработки схемы была найдена библиотека со старыми (эпохи до изобретения даташитов в pdf-формате) каталогами микросхем для жестких дисков:
http://www.bitsavers.org/components
Выделил описание микросхемы VM71110 и загрузил на гитхаб, как дополнение к схеме WD21000.